home *** CD-ROM | disk | FTP | other *** search
- CPLXERR(3C) Last changed: 3-22-99
-
-
- NNAAMMEE
- ccoommpplleexx__eerrrroorr - Error-handling function for the C++ Complex Math
- Library
-
- SSYYNNOOPPSSIISS
- ##iinncclluuddee <<ccoommpplleexx..hh>>
- ccllaassss cc__eexxcceeppttiioonn
- {{
- iinntt ttyyppee;;
- cchhaarr **nnaammee;;
- ccoommpplleexx aarrgg11;;
- ccoommpplleexx aarrgg22;;
- ccoommpplleexx rreettvvaall;;
-
- ppuubblliicc::
-
- cc__eexxcceeppttiioonn(( cchhaarr **nn,, ccoonnsstt ccoommpplleexx&& aa11,, ccoonnsstt ccoommpplleexx&& aa22 ==
- ccoommpplleexx__zzeerroo ));;
-
- ffrriieenndd iinntt ccoommpplleexx__eerrrroorr(( cc__eexxcceeppttiioonn&& ));;
-
- ffrriieenndd ccoommpplleexx eexxpp(( ccoommpplleexx ));;
- ffrriieenndd ccoommpplleexx ssiinnhh(( ccoommpplleexx ));;
- ffrriieenndd ccoommpplleexx ccoosshh(( ccoommpplleexx ));;
- ffrriieenndd ccoommpplleexx lloogg(( ccoommpplleexx ));;
-
- }};;
-
- IIMMPPLLEEMMEENNTTAATTIIOONN
- IRIX systems (--oo3322 ABI only)
-
- DDEESSCCRRIIPPTTIIOONN
- NOTE: This man page applies only to the --oo3322 ABI. The MIPSpro
- --nn3322 and --6644 ABIs support the template-based complex class which
- is included in the C++ standard library and is automatically
- loaded by the MIPSpro C++ compiler. The --llmm option must still be
- used to link the math library.
-
- In the following description of the ccoommpplleexx error handling routine, _i
- is of type iinntt and _x is of type cc__eexxcceeppttiioonn.
-
- _i == ccoommpplleexx__eerrrroorr((_x)) Invoked by functions in the C++ Complex
- Mathematics Library when errors are detected.
-
- Users may define their own procedures for handling errors, by defining
- a function named ccoommpplleexx__eerrrroorr in their programs. ccoommpplleexx__eerrrroorr must
- be of the form previously described.
-
- The ttyyppee element is an integer describing the type of error that has
- occurred, from the following list of constants (defined in the header
- file):
-
- SING argument singularity
- OVERFLOW overflow range error
- UNDERFLOW underflow range error
-
- The nnaammee element points to a string containing the name of the
- function that incurred the error. The aarrgg11 and aarrgg22 variables are the
- arguments with which the function was invoked. rreettvvaall is set to the
- default value that will be returned by the function unless the user's
- ccoommpplleexx__eerrrroorr function sets it to a different value.
-
- If the user's ccoommpplleexx__eerrrroorr function returns non-zero, no error
- message will be printed, and eerrrrnnoo will not be set.
-
- If ccoommpplleexx__eerrrroorr is not supplied by the user, the default error-
- handling procedures, described with the complex math functions
- involved, will be invoked upon error. These procedures are also
- summarized in the following table. In every case, eerrrrnnoo is set to
- EEDDOOMM or EERRAANNGGEE and the program continues.
-
- Note that complex math functions call functions included in the math
- library which has its own error handling routine, mmaatthheerrrr(3M). Users
- may also override this routine by supplying their own version.
-
- -----------------------------------------------------------------
- DEFAULT ERROR HANDLING PROCEDURES
- -----------------------------------------------------------------
- Types of Errors
- type
- errno SING
- EDOM OVERFLOW
- ERANGE UNDERFLOW
- ERANGE
- EXP:
- real too large/small -- (+H, +H) (0, 0)
- imag too large -- (0, 0)
- LOG:
- arg = (0, 0) M, (H, 0) -- --
- SINH:
- real too large -- (+H, +H) --
- imag too large -- (0, 0) --
- COSH:
- real too large -- (+H, +H) --
- imag too large -- (0, 0) --
- -----------------------------------------------------------------
-
- -------------------------------------------------------
- ABBREVIATIONS
- -------------------------------------------------------
- M Message is printed (EDOM error).
- (H, 0) (HUGE, 0) is returned.
- (+H, +H) (+HUGE, +HUGE) is returned.
- (0, 0) (0, 0) is returned.
- -------------------------------------------------------
-
- SSEEEE AALLSSOO
- ccoommpplleexx(3C), ccaarrttppooll(3C), ccppllxxooppss(3C), ccppllxxeexxpp(3C), ccppllxxttrriigg(3C),
- mmaatthheerrrr(3M)
-
- This man page is available only online.
-